1. Field of the Invention
This invention relates in general to the field of information storage, and more particularly to read/write channel control devices that can generate timing signals for controlling read/write operations in rotating magnetic storage devices.
2. Description of the Related Art
Hard disk drives (HDD) typically comprise at least one disk having a magnetic medium for storing information, a spindle, a controller for controlling disk rotational speed, a read/write head and actuator assembly for positioning the head over the appropriate disk track, and data channels for reading data from the disk and writing data to the disk. The read/write head reads data from and writes data to the disk in data blocks having either fixed or variable length. A data block comprises a preamble (for acquiring timing signals), timing bits, address bits, data bits, and error correction bits. Data blocks are recorded in sectors in concentric tracks and a track may comprise several sectors. The number of sectors may depend on the radial location of the track on the disk.
In efforts to increase data density, HDD manufacturers write data to disks such that data density is substantially uniform throughout the disk. Uniform density requires a write clock that is synchronized to disk speed (disk speed being defined as the speed of the disk media relative to a specific point such as a write head). There are three sources of variation in disk speed: uncertainty of rotational speed, eccentricities of the disk to the spindle caused by disk slip, and location of data sectors relative to the axis of rotation.
Rotational speed is uncertain because spindle speed control is not perfect in disk drives. Most HDDs have spindle speed specifications of +/−0.1% absolute variation. Because uncertainty in the spindle speed results in a lower format target, engineers design margins to allow the HDD to continue functioning under the worst-case spindle speed variation. For example, a sector written at a fixed +0.1% higher spindle speed and read at −0.1% lower spindle speed will experience a read data-rate 0.2% lower than the nominal read speed. In order for the read timing loop to lock properly to this lower data rate, the data sector requires a longer preamble, resulting in lower format efficiency. Also, in order to prevent writing over part of the preceding or the succeeding sector that was previously written at a different spindle speed, a larger gap between sectors must be allocated to provide a buffer zone. This larger gap also reduces the overall format efficiency of the drive.
In addition to the longer preamble required to enable timing loop lock to a read-back waveform, it is also often necessary to increase the timing loop bandwidth, resulting in a higher read error rate. Read error rate is lower when the read timing loop bandwidth is lower.
Disk slip is due to manufacturing tolerances creating eccentricities between the disks and the spindle mechanism. When HDDs experience a large lateral shock, the disk may slip relative to the spindle, causing the tracks to be placed on circular paths off-center from the axis of rotation. When reading or writing data, this off-center rotation appears to be a variation of spindle speed. Data read from a sector written prior to a disk slip will have an even larger frequency offset than the nominal value.
Disk slip has sinusoidal sector-to-sector timing variation. The variation in the time interval between sectors appears as a spindle speed variation even though the variation may be due partially to disk slip. Although this component of variation is repeatable around the disk, data written to a disk before the disk slip may be read after the disk slip, resulting in an unpredictable disk read. In many HDDs, a disk slip creates a read frequency offset as large as 0.5% of nominal, which is larger than normal spindle speed variation.
Some modern read channels employ digital timing recovery loops and already have a capability to adjust the read back initial frequency offset if the offset amount is known. FIG. 1 shows an example of a phase-locked loop (PLL) circuit for adjusting the frequency of the read channel to compensate for a known frequency offset. The phase detector 102, low pass filter 103, voltage controlled oscillator (VCO) 104, and divider 105 are part of a PLL time base generator 101. The read clock interpolator 106, normally used for read clock timing, is outside the time base generator loop and is responsive to a known frequency offset signal 108 to provide a modified frequency output signal 109.
Disk speed variation is also due to the location of data sectors relative to the axis of rotation. As a data sector is written farther from the center of the disk, the physical length of the sector increases unless the write clock frequency also increases. Timing circuits also may use one or more interpolators to pre-compensate the write clock to change the write density according to the track location on the disk. FIG. 2 shows that a clock interpolator 206 may also be used to provide pre-compensation for adjusting the data write density necessary to compensate for the track location on the disk. The write pre-compensation control signal 208 adjusts the clock interpolator 206 to account for track location on the disk, thereby providing a pre-compensated clock signal 209. However, if the interpolator has to perform frequency adjustments in addition to pre-compensation adjustments, then the design of the control logic and clock interpolators becomes significantly more complicated.
Therefore, a need exists for circuitry that adjusts the write clock frequency in response to apparent disk speed variations and pre-compensation controls.